From 52ea721551bee16093a65b3b22421d08601eb208 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 14 Sep 2012 13:03:07 -0400 Subject: [PATCH] togglebutton: always set PRELIGHT state when in_button = TRUE Previously, we would avoid setting the prelight state flag when button_down was TRUE and draw_indicator = FALSE, which is the normal case of a GtkToggleButton during a mouse press. It looks like this behavior was introduced a long time ago with commit b94e6c0a8036a0489ac8ca71de75ba7611218e50. I believe the reason was that a widget in GTK2 couldn't have more than a single state (e.g. hover+active) at a given moment. https://bugzilla.gnome.org/show_bug.cgi?id=684038 --- gtk/gtktogglebutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c index cb011fc6a6..999710c167 100644 --- a/gtk/gtktogglebutton.c +++ b/gtk/gtktogglebutton.c @@ -644,7 +644,7 @@ gtk_toggle_button_update_state (GtkButton *button) else depressed = priv->active; - if (button->priv->in_button && (!button->priv->button_down || priv->draw_indicator)) + if (button->priv->in_button) new_state |= GTK_STATE_FLAG_PRELIGHT; if (depressed) -- 2.30.2